package com.wing.wechat.vo;

import lombok.Data;

import java.util.List;

/**
 * 创建成员-请求VO
 */
@Data
public class RequestCreateUser {

    /**
     * 成员UserID。对应管理端的账号，企业内必须唯一
     */
    private String userid;

    /**
     * 成员名称
     */
    private String name;

    /**
     * 成员别名
     */
    private String alias;

    /**
     * 手机号码
     */
    private String mobile;

    /**
     * 成员所属部门id列表，不超过100个。当不填写department或id为0时，
     * 成员会放在其他（待设置部门）下，当填写的部门不存在时，会在在其他（待设置部门）下新建对应部门
     */
    private List<Integer> department;

    /**
     * 部门内的排序值，默认为0，成员次序以创建时间从小到大排列。
     * 个数必须和参数department的个数一致，数值越大排序越前面。
     */
    private Integer order;

    /**
     * 职务信息
     */
    private String position;

    /**
     * 性别。1表示男性，2表示女性
     */
    private Integer gender;

    /**
     * 邮箱。可填写企业已有的邮箱账号，方便同事获取成员的邮箱账号以发邮件。
     * 长度6~64个字节，且为有效的email格式。企业内必须唯一，mobile/email二者不能同时为空
     */
    private String email;

    /**
     * 如果企业已开通腾讯企业邮（企业微信邮箱），设置该值可创建企业邮箱账号。
     * 长度6~64个字节，且为有效的企业邮箱格式。企业内必须唯一。未填写则系统会为用户生成默认企业邮箱（由系统生成的邮箱可修改一次）
     */
    private String biz_mail;

    /**
     * 个数必须和参数department的个数一致，表示在所在的部门内是否为部门负责人。1表示为部门负责人，0表示非部门负责人
     */
    private List<Integer> is_leader_in_dept;

    /**
     * 直属上级UserID，设置范围为企业内成员，可以设置最多1个上级
     */
    private String direct_leader;

    /**
     * 成员头像的mediaid，通过素材管理接口上传图片获得的mediaid
     */
    private String avatar_mediaid;

    /**
     * 启用/禁用成员。1表示启用成员，0表示禁用成员
     */
    private String enable;

    /**
     * 扩展属性
     */
    private String extattr;

    /**
     * 是否邀请该成员使用企业微信
     */
    private Boolean to_invite;

    /**
     * 成员对外属性
     */
    private String external_profile;

    /**
     * 对外职务
     */
    private String external_position;

    /**
     * 视频号名字
     */
    private String nickname;

    /**
     * 地址
     */
    private String address;

    /**
     * 主部门
     */
    private Integer main_department;

}
